using System.Collections.Generic;
using Codemo.Core.Deployment;
using Codemo.Core.Deployment.Tasks;

namespace Codemo.Core.Applications
{
    /// <summary>
    /// 
    /// </summary>
    public class DeploymentConfigurationVersion
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="DeploymentConfigurationVersion"/> class.
        /// </summary>
        /// <param name="label">The label.</param>
        public DeploymentConfigurationVersion(string label)
        {
            Label = label;
            ConfigurationFiles = new Dictionary<string, XmlConfigurationFile>();
            DeploymentTargets = new Dictionary<string, DeploymentTarget>();
            DeploymentTasks = new List<TaskType>();
        }

        /// <summary>
        /// Gets or sets the label.
        /// </summary>
        /// <value>The label.</value>
        public string Label { get; private set; }

        /// <summary>
        /// Gets the configuration files.
        /// </summary>
        /// <value>The configuration files.</value>
        public IDictionary<string, XmlConfigurationFile> ConfigurationFiles { get; private set; }

        /// <summary>
        /// Gets or sets the deployment target.
        /// </summary>
        /// <value>The deployment target.</value>
        public IDictionary<string, DeploymentTarget> DeploymentTargets { get; private set; }

        /// <summary>
        /// Gets or sets the deplyment tasks.
        /// </summary>
        /// <value>The deplyment tasks.</value>
        public IList<TaskType> DeploymentTasks { get; private set; }
    }
}